Suomenkielinen tavutus WordPressiin

Tavutus on mukava lisä isommissa tekstikokonaisuuksissa. Tekstimassa näyttää miellyttävämmältä, kun rivit eivät ole kovin erimittaisia. Tavutuksen toteuttaminen käytännössä on ollut hivenen hankalaa, etenkin kun tekstirivien mitta voi olla kovin vaihteleva käyttäjän näytön leveydestä riippuen.

CSS tarjoaa nykyään helpon ratkaisun. Laittamalla elementille CSS-säännön hyphens: auto selaimen pitäisi automaattisesti tavuttaa teksti. Ongelmana on se, että eri kielissä tavutussäännöt ovat erilaisia ja valitettavasti ihan kaikki selaimet eivät vielä osaa suomenkielisiä tavutussääntöjä.

Mac-käyttäjät ovat onnellisemmassa asemassa kuin Windows-käyttäjät: Macissa käyttöjärjestelmä tarjoaa selainten käyttöön suomenkieliset tavutussäännöt ja useimpien selainten pitäisi osata tämäkin teksti tavuttaa oikein, jos käytössä on Mac. Firefox osaa tavutuksen paremmin kuin Chrome.

Koska tavutuksesta ei ole mitään haittaa, jos se ei toimi, kannattaakin oman sivuston tyylitiedostoihin lisätä sääntö hyphens: auto kaikkiin tekstielementteihin, jossa siitä voi olla hyötyä. Näin ainakin Firefox- ja Mac-käyttäjät saavat nauttia tavutetusta tekstistä.

Hyphenopoly

Hyphenopoly on javascriptillä tehty polyfill, joka lisää tavutustuen niihin selaimiin, jotka eivät osaa tavutusta muuten tehdä. Hyphenopolyn asentaminen WordPressiin vaatii hieman vaivannäköä, mutta on lopulta aika yksinkertainen juttu.

Hyphenopolyn voi asentaa esimerkiksi teeman alle näin:

  1. Lataa Hyphenopolyn tiedostot GitHubista.
  2. Tee teemasi hakemiston (/wp-content/themes/teeman_nimi/) sisään hakemisto hyphenopoly ja kopioi sinne tiedostot Hyphenopoly_Loader.js, Hyphenopoly.js ja hyphenopoly.module.js.
  3. Tee tähän hakemistoon alihakemisto patterns ja kopioi sinne tiedosto fi.wasm (ja muut kielet, mikäli tarvitset muuta kuin suomenkielistä tavutusta).
  4. Lisää teeman functions.php tiedostoon seuraava pätkä:
add_action(
	'wp_enqueue_scripts',
	function() {
		wp_enqueue_script(
			'hyphenopoly',
			'/wp-content/themes/teeman_nimi/hyphenopoly/Hyphenopoly_Loader.js',
			array(),
			'4.12.0',
			false
		);
		wp_add_inline_script(
			'hyphenopoly',
			'Hyphenopoly.config({
				require: {
					"fi": "pyyhkäisyelektronimikroskooppi",
				},
				paths: {
					patterndir: "/wp-content/themes/teeman_nimi/hyphenopoly/patterns/",
					maindir: "/wp-content/themes/teeman_nimi/hyphenopoly/",
				},
				setup: {
					selectors: {
						".container": {}
					}
				}
			});'
		);
	}
);

Vaihda kohtaan teeman_nimi (esiintyy koodissa kolme kertaa) oman teemasi hakemiston nimi. Jos käytät muita kieliä kuin suomea, lisää rivin "fi": "pyyhkäisyelektronimikroskooppi", jälkeen rivi jokaiselle kielelle. Rivillä pitää olla kielen koodi ja joku pitkä sana tällä kielellä.

Siinä kaikki – tämän jälkeen suomenkielisen tavutuksen pitäisi toimia kaikilla selaimilla. (Tälle sivustolle en ole jaksanut Hyphenopolya asentaa, jos ihmettelet. Kirjavinkit.fi:ssä pitäisi tulla tavutusta kaikille kävijöille.)

Syllable-hyphenator

Johannes Siipolan syllable-hyphenator on Syllable-kirjastoon perustuva tavutuslisäosa WordPressiin. Se tekee tavutuksen palvelimella lisäämällä sanoihin soft hyphen -välimerkkejä sopivasti. Tämä lisäys tapahtuu tekstin sivulle tulostamisen yhteydessä ja vaatii muutoksia sivupohjaan. Jos nämä sivupohjamuutokset vaikuttavat kätevältä ratkaisulta, tämä on oikein toimiva työkalu.

Oletusarvoisesti syllable-hyphenator on laiska tavuttaja ja lisää tavutuksen vasta vähintään 12 kirjainta pitkiin sanoihin. Alaraja on onneksi säädettävissä lyhyemmäksi. En ole tätä itse kokeillut, lähestymistapa kun sopii hieman nihkeästi omiin tarpeisiini. Itse määrittelen mieluummin CSS:n puolella, mitä tavutetaan, jolloin Hyphenopoly toimii notkeammin.

13 kommenttia kirjoitukseen “Suomenkielinen tavutus WordPressiin

  1. yritän aktivoida tavutus wordPress-sivussani, muuta se ei toimii ainakin vielä. Käytän teemana Blocksy. Olen lisännyt osoista Hyphenopoly kaikki tarvittavat mutta ei toimii. Osaatko auttaa ? Teean alla on aika paljon .css tiedostoja , mihin niistä täytyy lisätä arvo hyphens: auto?

  2. Jotain puuttuu, koska Hyphenopolyn koodia ei sivuillasi näy. Vaihdoitko koodista kaikista poluista kohdan ”teeman_nimi” oman teemasi mukaiseksi?

  3. Moi,
    tiedosto loader.js oli tyhjä nyt siellä on sisältö näkyykö nyt koodi:

    Hyphenopoly.config({
    require: {
    ”fi”: ”pyyhkäisyelektronimikroskooppi”,
    },
    paths: {
    patterndir: ”/wp-content/themes/Blocksy/hyphenopoly/patterns/”,
    maindir: ”/wp-content/themes/Blocksy/hyphenopoly/”,
    },
    setup: {
    selectors: {
    ”.container”: {}
    }
    }
    });

  4. Moi, sivuni on muokattu Elementorilla (ei Pro) vaikuttaako se tähän ?

  5. Nyt on jo lähempänä, mutta Hyphenopoly_Loader.js-tiedostoa ei vielä löydy palvelimelta. Näyttäisi että ohjeiden vaiheet 2 ja 3 ovat vielä tekemättä (tai tehty jotenkin väärin).

  6. Moi, Mikko!
    Kiitos vastauksestasi!
    Hyvää Itsennäisyyspäivää!
    Tarkistan asiaa huomenna !
    T.Igor

  7. Moi,
    olen omasta mielestäni tarkistanut kaikki polit ja tiedostot, ne oli oikeat, Olisiko Sinulla vielä hyviä ideoida?

  8. Hyphenopolyn tiedostot antavat yhä 404-virhettä eli puuttuvat palvelimelta.

  9. Moi,
    tosiaan joku prosessi poisti hakemisto ja tiedostot, palautin ne. Löytyykö nyt paremmin? Jos kohdat 2 ja 3 ovat kunnossa pitäisikö tavutukselle olla kunnossa? onko sinulla joku esim. sivusto, missä se toimii?
    t. Igor

  10. Jes, nyt on tiedostot paikoillaan ja homma voi toimia, kunhan pistää vielä tyylitiedostosta halutuille elementeille tavutuksen päälle. Eli lisääpä tyylitiedostoon vielä vaikka

    p {
    hyphens: auto;
    }

  11. Moi, Mikko! Kiitos kovasti Ostin Elementorin Pro versio! Nyt se toimii!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

This site uses Akismet to reduce spam. Learn how your comment data is processed.